/* ثبت پست تایپ نمایندگی */
function sigmaweb_register_representative_post_type() {
    register_post_type('sigmaweb_rep', array(
        'labels' => array(
            'name' => 'نمایندگی‌ها',
            'singular_name' => 'نمایندگی',
            'add_new' => 'افزودن نمایندگی',
            'add_new_item' => 'افزودن نمایندگی جدید',
            'edit_item' => 'ویرایش نمایندگی',
            'new_item' => 'نمایندگی جدید',
            'view_item' => 'مشاهده نمایندگی',
            'search_items' => 'جستجوی نمایندگی',
            'not_found' => 'موردی یافت نشد',
            'menu_name' => 'نمایندگی‌ها',
        ),
        'public' => true,
        'publicly_queryable' => false,
        'has_archive' => true,
        'menu_icon' => 'dashicons-admin-multisite',
        'supports' => array('title'),
        'show_in_rest' => true,
    ));
}
add_action('init', 'sigmaweb_register_representative_post_type');

/* متاباکس‌ها */
function sigmaweb_add_representative_meta_boxes() {
    add_meta_box('sigmaweb_representative_info', 'اطلاعات نمایندگی', 'sigmaweb_render_representative_meta_box', 'sigmaweb_rep', 'normal', 'high');
}
add_action('add_meta_boxes', 'sigmaweb_add_representative_meta_boxes');

function sigmaweb_render_representative_meta_box($post) {
    $fields = ['code', 'city', 'address', 'phone', 'fax', 'province', 'email', 'services', 'status', 'website', 'telegram', 'whatsapp', 'instagram', 'twitter'];
    foreach ($fields as $field) {
        $$field = get_post_meta($post->ID, 'sigmaweb_' . $field, true);
    }

    $provinces = [ 
        'آذربایجان شرقی', 'آذربایجان غربی', 'اردبیل', 'اصفهان', 'البرز', 'ایلام',
        'بوشهر', 'تهران', 'چهارمحال و بختیاری', 'خراسان جنوبی', 'خراسان رضوی', 'خراسان شمالی',
        'خوزستان', 'زنجان', 'سمنان', 'سیستان و بلوچستان', 'فارس', 'قزوین', 'قم',
        'کردستان', 'کرمان', 'کرمانشاه', 'کهگیلویه و بویراحمد', 'گلستان', 'گیلان',
        'لرستان', 'مازندران', 'مرکزی', 'هرمزگان', 'همدان', 'یزد', 'کیش', 'قشم', 'هرمز'
    ];

    ?>
    <p><label>کد نمایندگی:</label>
    <input type="text" name="sigmaweb_code" value="<?php echo esc_attr($code); ?>" class="widefat" /></p>
	
	<p><label>آدرس وبسایت:</label>
    <input type="url" name="sigmaweb_website" value="<?php echo esc_attr($website); ?>" class="widefat" /></p>

    <p><label>شهر:</label>
    <input type="text" name="sigmaweb_city" value="<?php echo esc_attr($city); ?>" class="widefat" /></p>

    <p><label>نشانی:</label>
    <input type="text" name="sigmaweb_address" value="<?php echo esc_attr($address); ?>" class="widefat" /></p>

    <p><label>تلفن:</label>
    <input type="text" name="sigmaweb_phone" value="<?php echo esc_attr($phone); ?>" class="widefat" /></p>

    <p><label>فکس:</label>
    <input type="text" name="sigmaweb_fax" value="<?php echo esc_attr($fax); ?>" class="widefat" /></p>

    <p><label>ایمیل:</label>
    <input type="email" name="sigmaweb_email" value="<?php echo esc_attr($email); ?>" class="widefat" /></p>

    <p><label>خدمات:</label>
    <textarea name="sigmaweb_services" class="widefat"><?php echo esc_textarea($services); ?></textarea></p>

    <p><label>وضعیت فعالیت:</label>
    <select name="sigmaweb_status" class="widefat">
        <option value="active" <?php selected($status, 'active'); ?>>فعال</option>
        <option value="inactive" <?php selected($status, 'inactive'); ?>>غیرفعال</option>
    </select></p>

	<p><label>تلگرام:</label>
    <input type="url" name="sigmaweb_telegram" value="<?php echo esc_attr($telegram); ?>" class="widefat" /></p>

	<p><label>واتساپ:</label>
    <input type="url" name="sigmaweb_whatsapp" value="<?php echo esc_attr($whatsapp); ?>" class="widefat" /></p>

	<p><label>اینستاگرام:</label>
    <input type="url" name="sigmaweb_instagram" value="<?php echo esc_attr($instagram); ?>" class="widefat" /></p>

	<p><label>توییتر:</label>
    <input type="url" name="sigmaweb_twitter" value="<?php echo esc_attr($twitter); ?>" class="widefat" /></p>
	
    <p><label>استان:</label>
    <select name="sigmaweb_province" class="widefat">
        <?php foreach ($provinces as $prov): ?>
            <option value="<?php echo esc_attr($prov); ?>" <?php selected($province, $prov); ?>><?php echo esc_html($prov); ?></option>
        <?php endforeach; ?>
    </select></p>
    <?php
}

/* ذخیره اطلاعات */
function sigmaweb_save_representative_meta($post_id) {
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;

    $fields = ['code', 'city', 'address', 'phone', 'fax', 'province', 'email', 'services', 'status', 'website', 'telegram', 'whatsapp', 'instagram', 'twitter'];
    foreach ($fields as $field) {
        if (isset($_POST['sigmaweb_' . $field])) {
            update_post_meta($post_id, 'sigmaweb_' . $field, sanitize_text_field($_POST['sigmaweb_' . $field]));
        }
    }
}
add_action('save_post', 'sigmaweb_save_representative_meta');

/* Ajax هندلر */
add_action('wp_ajax_sigmaweb_filter_representatives', 'sigmaweb_filter_representatives');
add_action('wp_ajax_nopriv_sigmaweb_filter_representatives', 'sigmaweb_filter_representatives');

function sigmaweb_filter_representatives() {
    $province = sanitize_text_field($_POST['province']);

    $args = array(
        'post_type' => 'sigmaweb_rep',
        'posts_per_page' => -1,
        'meta_key' => 'sigmaweb_province',
        'meta_value' => $province
    );

    $query = new WP_Query($args);

    ob_start();
	
	//نام استان
    echo '<h3 class="sigmaweb-rep-province">' . esc_html($province) . '</h3>';

    if ($query->have_posts()) {
        // div والد نماینده‌ها
        echo '<div class="sigmaweb-rep-list">';
        while ($query->have_posts()) {
            $query->the_post();

            $fields = [
                'code' => get_post_meta(get_the_ID(), 'sigmaweb_code', true),
                'city' => get_post_meta(get_the_ID(), 'sigmaweb_city', true),
                'address' => get_post_meta(get_the_ID(), 'sigmaweb_address', true),
                'phone' => get_post_meta(get_the_ID(), 'sigmaweb_phone', true),
                'fax' => get_post_meta(get_the_ID(), 'sigmaweb_fax', true),
                'email' => get_post_meta(get_the_ID(), 'sigmaweb_email', true),
                'services' => get_post_meta(get_the_ID(), 'sigmaweb_services', true),
                'status' => get_post_meta(get_the_ID(), 'sigmaweb_status', true),
				'website' => get_post_meta(get_the_ID(), 'sigmaweb_website', true),
				'telegram' => get_post_meta(get_the_ID(), 'sigmaweb_telegram', true),
				'whatsapp' => get_post_meta(get_the_ID(), 'sigmaweb_whatsapp', true),
				'instagram' => get_post_meta(get_the_ID(), 'sigmaweb_instagram', true),
				'twitter' => get_post_meta(get_the_ID(), 'sigmaweb_twitter', true),
            ];
            ?>
            <div class="sigmaweb-rep-box">
                <p><strong>نام نمایندگی:</strong> <?php the_title(); ?></p>

                <?php if (!empty($fields['code'])): ?>
                    <p><strong>کد نمایندگی:</strong> <?= esc_html($fields['code']); ?></p>
                <?php endif; ?>
				
				<?php if (!empty($fields['website'])): ?>
                <p><strong>وبسایت:</strong> <a href="<?= esc_url($fields['website']); ?>" target="_blank">مشاهده</a></p>
                <?php endif; ?>

                <?php if (!empty($fields['city'])): ?>
                    <p><strong>شهر:</strong> <?= esc_html($fields['city']); ?></p>
                <?php endif; ?>

                <?php if (!empty($fields['address'])): ?>
                    <p><strong>نشانی:</strong> <?= esc_html($fields['address']); ?></p>
                <?php endif; ?>

                <?php if (!empty($fields['phone'])): ?>
                    <p><strong>تلفن:</strong> <?= esc_html($fields['phone']); ?></p>
                <?php endif; ?>

                <?php if (!empty($fields['fax'])): ?>
                    <p><strong>فکس:</strong> <?= esc_html($fields['fax']); ?></p>
                <?php endif; ?>

                <?php if (!empty($fields['email'])): ?>
                    <p><strong>ایمیل:</strong> <?= esc_html($fields['email']); ?></p>
                <?php endif; ?>

                <?php if (!empty($fields['services'])): ?>
                    <p><strong>خدمات:</strong> <?= esc_html($fields['services']); ?></p>
                <?php endif; ?>

                <?php if (!empty($fields['status'])): ?>
                    <p><strong>وضعیت:</strong> <?= ($fields['status'] === 'active') ? 'فعال' : 'غیرفعال'; ?></p>
                <?php endif; ?>
				
              <?php if (!empty($fields['telegram']) || !empty($fields['whatsapp']) || !empty($fields['instagram']) || !empty($fields['twitter'])): ?>
                  <div class="sigmaweb-rep-socials">
                      <p>
                          <?php if (!empty($fields['telegram'])): ?>
                              <a href="<?= esc_url($fields['telegram']); ?>" target="_blank" rel="noopener" class="sigmaweb-socials-telegram">
                                  <!-- آیکون تلگرام -->
                                  <svg xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" class="e-font-icon-svg e-fab-telegram-plane" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg" width="448" height="512"><path d="M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z"></path></svg>
                              </a>
                          <?php endif; ?>
              
                          <?php if (!empty($fields['whatsapp'])): ?>
                              <a href="<?= esc_url($fields['whatsapp']); ?>" target="_blank" rel="noopener" class="sigmaweb-socials-whatsapp">
                                  <!-- آیکون واتساپ -->
                                  <svg xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" class="e-font-icon-svg e-fab-whatsapp" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg" width="448" height="512"><path d="M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"></path></svg>
                              </a>
                          <?php endif; ?>
              
                          <?php if (!empty($fields['instagram'])): ?>
                              <a href="<?= esc_url($fields['instagram']); ?>" target="_blank" rel="noopener" class="sigmaweb-socials-instagram">
                                  <!-- آیکون اینستاگرام -->
                                  <svg xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" class="e-font-icon-svg e-fab-instagram" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg" width="448" height="512"><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg>
                              </a>
                          <?php endif; ?>
              
                          <?php if (!empty($fields['twitter'])): ?>
                              <a href="<?= esc_url($fields['twitter']); ?>" target="_blank" rel="noopener" class="sigmaweb-socials-twitter">
                                  <!-- آیکون توییتر -->
                                  <svg xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" class="e-font-icon-svg e-fab-x-twitter" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" width="512" height="512"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"></path></svg>
                              </a>
                          <?php endif; ?>
                      </p>
                  </div>
              <?php endif; ?>

            </div>
            <?php
        }
        echo '</div>'; // پایان div والد
    } else {
        echo '<p class="sigmaweb-no-result">در این استان نمایندگی یا عاملیت فروش وجود ندارد</p>';
    }

    wp_reset_postdata();
    echo ob_get_clean();

    wp_die();
}
